package session;

import java.util.List;

import entity.Appointment;
import entity.Players;
import entity.User;

/**
 * Dao bean interfejs za entitet Players
 * 
 * @author en_e
 *
 */

public interface PlayersDao extends GenericDao<Players, Integer> {
	/**
	 * Funkcija vraća listu igrača koji su prisustvovali na datom terminu
	 * @param appointment
	 * @return
	 */
	public List<Players> findAllByAppointment(Appointment appointment);
	
	/**
	 * Funkcija vraća broj sumu golova za određeni termin i tim(domaćin/gost)
	 * @param appointment
	 * @param team G - gost, H - domaćin
	 * @return broj >=0
	 */
	public Integer sumGoals(Appointment appointment, char team);
	
	/**
	 * Funkcija vraća listu potencijalnih igrača za MVP za dati termin
	 * @param appointment termn za koju želimo dobiti potencijalne MVP igrače
	 * @return 
	 */
	public List<Players> findMvpByAppointment(Appointment appointment);
	
	/**
	 * Funkcija proverava da li je dati korisnik prisustvovao na datom terminu, i ako
	 * jeste, vraća taj igrač koji odgovara tom korisniku
	 * 
	 * @param user korisnik za koji želimo da saznamo da li je prisustvovao na terminu
	 * @param appointment termin za koji tražimo onaj igrač koja reprezentuje korisnika
	 * @return
	 */
	public Players findPlayerByAppointment(User user,Appointment appointment);
}
